home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / Python-1.4 / Lib / test / test_md5.py < prev    next >
Text File  |  1998-06-24  |  946b  |  43 lines

  1. # Testing md5 module
  2.  
  3. import string
  4. from md5 import md5
  5.  
  6. def hexstr(s):
  7.     h = string.hexdigits
  8.     r = ''
  9.     for c in s:
  10.         i = ord(c)
  11.         r = r + h[(i >> 4) & 0xF] + h[i & 0xF]
  12.     return r
  13.  
  14. def md5test(s):
  15.     return 'MD5 ("' + s + '") = ' + hexstr(md5(s).digest())
  16.  
  17. testset=['',
  18. 'a',
  19. 'abc',
  20. 'message digest',
  21. 'abcdefghijklmnopqrstuvwxyz',
  22. 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
  23. '12345678901234567890123456789012345678901234567890123456789012345678901234567890']
  24.  
  25. good=['d41d8cd98f00b204e9800998ecf8427e',
  26. '0cc175b9c0f1b6a831c399e269772661',
  27. '900150983cd24fb0d6963f7d28e17f72',
  28. 'f96b697d7cb7938d525a2f31aaf161d0',
  29. 'c3fcd3d76192e4007dfb496cca67e13b',
  30. 'd174ab98d277d9f5a5611c2c9f419d9f',
  31. '57edf4a22be3c955ac49da2e2107b67a']
  32.  
  33. print 'MD5 test suite:'
  34. for i in range(len(testset)):
  35. #    print md5test(testset[i]),
  36.     if hexstr(md5(testset[i]).digest())==good[i]:
  37. #        print "OK"
  38.         pass
  39.     else:
  40.         raise ValueError, "MD5 DIGEST WRONG"
  41.  
  42. print "OK"
  43.